llllllllrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmllllllllrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmllllllllrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmllllllllrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmllllllllUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUmmmmmmmmllllllllrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrllllllllllllllllrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrllllllllllllllllrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrllllllllllllllllrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrllllllllllllllllrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkkkkkkkkllllllllRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRttttttttllllllllRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRttttttttllllllllRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRttttttttllllllllRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRttttttttllllllllDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDttttttttllllllllrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrllllllllllllllllrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrllllllllllllllllrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrllllllllllllllllrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrllllllllkkkkkkkkqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkkkkkkkkllllllllrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrllllllllmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssmmmmmmmmmmmmmmmmttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttmmmmmmmmmmmmmmmmssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssmmmmmmmmmmmmmmmmssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssmmmmmmmmmmmmmmmmssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssmmmmmmmmllllllllssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssllllllllllllllllllllllllllllllllttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttllllllllllllllllnnnnnnnnllllllllllllllllllllllllttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttllllllllllllllllnnnnnnnnnnnnnnnnllllllllllllllllllllllllttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttllllllllllllllllnnnnnnnnnnnnnnnnllllllllllllllllllllllllttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttllllllllllllllllnnnnnnnnnnnnnnnnllllllllllllllllllllllllttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttllllllllllllllllnnnnnnnnnnnnnnnnttttttttttttttttllllllllllllllllllllllllkkkkkkkkttttttttttttttttttttttttkkkkkkkkllllllllkkkkkkkkttttttttttttttttnnnnnnnnnnnnnnnnttttttttttttttttllllllllllllllllllllllllllllllllttttttttttttttttttttttttllllllllllllllllllllllllttttttttttttttttnnnnnnnnnnnnnnnnttttttttttttttttllllllllllllllllllllllllllllllllttttttttttttttttttttttttllllllllllllllllllllllllttttttttttttttttnnnnnnnnnnnnnnnnttttttttttttttttllllllllllllllllllllllllllllllllttttttttttttttttttttttttllllllllllllllllllllllllttttttttttttttttnnnnnnnnnnnnnnnnttttttttttttttttllllllllllllllllllllllllllllllllttttttttttttttttttttttttllllllllllllllllllllllllttttttttttttttttnnnnnnnnnnnnnnnnttttttttttttttttkkkkkkkkllllllllllllllllkkkkkkkkttttttttttttttttttttttttkkkkkkkkllllllllkkkkkkkkttttttttttttttttnnnnnnnnnnnnnnnnttttttttssssssssttttttttllllllllttttttttttttttttttttttttllllllllllllllllttttttttssssssssssssssssssssssssttttttttnnnnnnnnnnnnnnnnttttttttssssssssttttttttllllllllttttttttttttttttttttttttllllllllllllllllttttttttttttttttssssssssssssssssttttttttnnnnnnnnnnnnnnnnttttttttssssssssttttttttllllllllttttttttttttttttttttttttllllllllllllllllttttttttttttttttssssssssssssssssttttttttnnnnnnnnnnnnnnnnttttttttssssssssttttttttllllllllttttttttttttttttttttttttllllllllllllllllttttttttttttttttssssssssssssssssttttttttnnnnnnnnnnnnnnnnttttttttssssssssttttttttllllllllttttttttttttttttttttttttllllllllllllllllttttttttttttttttssssssssssssssssttttttttnnnnnnnnnnnnnnnnllllllllllllllllllllllllttttttttttttttttttttttttllllllllttttttttssssssssttttttttttttttttttttttttttttttttllllllllnnnnnnnnnnnnnnnnllllllllllllllllllllllllttttttttttttttttttttttttllllllllttttttttttttttttttttttttttttttttttttttttttttttttllllllllnnnnnnnnnnnnnnnnllllllllllllllllllllllllttttttttttttttttttttttttllllllllttttttttttttttttttttttttttttttttttttttttttttttttllllllllnnnnnnnnnnnnnnnnllllllllllllllllllllllllttttttttttttttttttttttttllllllllttttttttttttttttttttttttttttttttttttttttttttttttllllllllnnnnnnnnnnnnnnnnllllllllllllllllllllllllttttttttttttttttttttttttllllllllttttttttttttttttttttttttttttttttttttttttttttttttllllllllnnnnnnnnnnnnnnnnllllllllllllllllllllllllttttttttkkkkkkkkllllllllttttttttttttttttttttttttttttttttkkkkkkkkkkkkkkkkllllllllllllllllnnnnnnnnnnnnnnnnllllllllllllllllllllllllssssssssllllllllllllllllssssssssttttttttttttttttttttttttllllllllllllllllllllllllllllllllnnnnnnnnnnnnnnnnllllllllllllllllllllllllssssssssllllllllllllllllssssssssttttttttttttttttttttttttllllllllllllllllllllllllllllllllnnnnnnnnnnnnnnnnllllllllllllllllllllllllssssssssllllllllllllllllssssssssttttttttttttttttttttttttllllllllllllllllllllllllllllllllnnnnnnnnnnnnnnnnllllllllllllllllllllllllssssssssllllllllllllllllssssssssttttttttttttttttttttttttllllllllllllllllllllllllllllllllnnnnnnnnnnnnnnnnlllllllluuuuuuuukkkkkkkkttttttttllllllllllllllllssssssssttttttttttttttttttttttttllllllllllllllllllllllllllllllllnnnnnnnnnnnnnnnnttttttttssssssssttttttttttttttttllllllllllllllllssssssssttttttttttttttttttttttttllllllllllllllllllllllllllllllllnnnnnnnnnnnnnnnnttttttttssssssssttttttttttttttttllllllllllllllllssssssssttttttttttttttttttttttttllllllllllllllllllllllllllllllllnnnnnnnnnnnnnnnnttttttttssssssssttttttttttttttttllllllllllllllllssssssssttttttttttttttttttttttttllllllllllllllllllllllllllllllllnnnnnnnnnnnnnnnnttttttttssssssssttttttttttttttttllllllllllllllllssssssssttttttttttttttttttttttttllllllllllllllllllllllllllllllllnnnnnnnnnnnnnnnnttttttttssssssssttttttttssssssssllllllllllllllllssssssssttttttttttttttttttttttttllllllllllllllllllllllllllllllllnnnnnnnnnnnnnnnnttttttttssssssssttttttttllllllllttttttttttttttttllllllllttttttttttttttttttttttttttttttttttttttttttttttttkkkkkkkknnnnnnnnnnnnnnnnttttttttssssssssttttttttllllllllttttttttttttttttllllllllttttttttttttttttttttttttttttttttttttttttttttttttllllllllnnnnnnnnnnnnnnnnttttttttssssssssttttttttllllllllttttttttttttttttllllllllttttttttttttttttttttttttttttttttttttttttttttttttllllllllnnnnnnnnnnnnnnnnttttttttssssssssttttttttllllllllttttttttttttttttllllllllttttttttttttttttttttttttttttttttttttttttttttttttllllllllnnnnnnnnnnnnnnnnttttttttssssssssttttttttllllllllttttttttttttttttllllllllttttttttssssssssttttttttttttttttttttttttttttttttllllllllnnnnnnnnnnnnnnnnttttttttssssssssttttttttttttttttttttttttttttttttttttttttkkkkkkkkllllllllttttttttttttttttttttttttttttttttttttttttnnnnnnnnnnnnnnnnttttttttssssssssssssssssttttttttttttttttttttttttttttttttllllllllllllllllttttttttttttttttssssssssssssssssttttttttnnnnnnnnnnnnnnnnttttttttssssssssssssssssttttttttttttttttttttttttttttttttllllllllllllllllttttttttttttttttssssssssssssssssttttttttnnnnnnnnnnnnnnnnttttttttssssssssssssssssttttttttttttttttttttttttttttttttllllllllllllllllttttttttttttttttssssssssssssssssttttttttnnnnnnnnnnnnnnnnttttttttssssssssssssssssttttttttttttttttttttttttttttttttllllllllllllllllttttttttttttttttssssssssssssssssttttttttnnnnnnnnnnnnnnnnttttttttttttttttttttttttttttttttttttttttttttttttttttttttkkkkkkkkllllllllttttttttttttttttttttttttttttttttttttttttnnnnnnnnnnnnnnnnllllllllttttttttttttttttssssssssttttttttttttttttttttttttssssssssttttttttllllllllllllllllllllllllttttttttttttttttnnnnnnnnnnnnnnnnllllllllttttttttttttttttssssssssttttttttttttttttttttttttttttttttttttttttllllllllllllllllllllllllttttttttttttttttnnnnnnnnnnnnnnnnllllllllttttttttttttttttssssssssttttttttttttttttttttttttttttttttttttttttllllllllllllllllllllllllttttttttttttttttnnnnnnnnnnnnnnnnllllllllttttttttttttttttssssssssttttttttttttttttttttttttttttttttttttttttllllllllllllllllllllllllttttttttttttttttnnnnnnnnnnnnnnnnllllllllttttttttttttttttssssssssttttttttttttttttttttttttssssssssttttttttllllllllllllllllllllllllttttttttttttttttnnnnnnnnnnnnnnnnttttttttssssssssttttttttssssssssssssssssssssssssttttttttttttttttttttttttssssssssssssssssssssssssssssssssttttttttnnnnnnnnnnnnnnnnttttttttttttttttttttttttssssssssssssssssttttttttttttttttttttttttttttttttssssssssssssssssssssssssssssssssttttttttnnnnnnnnnnnnnnnnttttttttttttttttttttttttssssssssssssssssttttttttttttttttttttttttttttttttssssssssssssssssssssssssssssssssttttttttnnnnnnnnnnnnnnnnttttttttttttttttttttttttssssssssssssssssttttttttttttttttttttttttttttttttssssssssssssssssssssssssssssssssttttttttnnnnnnnnnnnnnnnnttttttttssssssssttttttttssssssssssssssssttttttttttttttttttttttttttttttttssssssssssssssssssssssssssssssssttttttttnnnnnnnnnnnnnnnnllllllllkkkkkkkkttttttttkkkkkkkkttttttttttttttttttttttttttttttttttttttttttttttttttttttttkkkkkkkkuuuuuuuullllllllnnnnnnnnnnnnnnnnllllllllllllllllttttttttllllllllttttttttttttttttssssssssttttttttttttttttttttttttttttttttllllllllllllllllllllllllnnnnnnnnnnnnnnnnllllllllllllllllttttttttllllllllttttttttttttttttssssssssttttttttttttttttttttttttttttttttllllllllllllllllllllllllnnnnnnnnnnnnnnnnllllllllllllllllttttttttllllllllttttttttttttttttssssssssttttttttttttttttttttttttttttttttllllllllllllllllllllllllnnnnnnnnnnnnnnnnllllllllllllllllttttttttllllllllttttttttttttttttssssssssttttttttttttttttttttttttttttttttllllllllllllllllllllllllnnnnnnnnnnnnnnnnllllllllkkkkkkkkttttttttkkkkkkkkttttttttttttttttttttttttttttttttttttttttttttttttttttttttkkkkkkkkuuuuuuuullllllllnnnnnnnnnnnnnnnnttttttttssssssssssssssssssssssssssssssssttttttttttttttttssssssssssssssssssssssssssssssssssssssssssssssssttttttttnnnnnnnnnnnnnnnnttttttttssssssssssssssssssssssssttttttttttttttttttttttttssssssssssssssssssssssssssssssssssssssssssssssssttttttttnnnnnnnnnnnnnnnnttttttttssssssssssssssssssssssssttttttttttttttttttttttttssssssssssssssssssssssssssssssssssssssssssssssssttttttttnnnnnnnnnnnnnnnnttttttttssssssssssssssssssssssssttttttttttttttttttttttttssssssssssssssssssssssssssssssssssssssssssssssssttttttttnnnnnnnnnnnnnnnnttttttttVVVVVVVVVVVVVVVVVVVVVVVVssssssssttttttttttttttttssssssssssssssssVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVttttttttnnnnnnnnnnnnnnnnllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllllllllnnnnnnnnnnnnnnnnllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllllllllnnnnnnnnnnnnnnnnllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllllllllnnnnnnnnnnnnnnnnllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllllllllnnnnnnnnnnnnnnnnllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllllllllnnnnnnnnnnnnnnnnttttttttmmmmmmmmKKKKKKKKttttttttmmmmmmmmttttttttttttttttttttttttttttttttmmmmmmmmKKKKKKKKttttttttmmmmmmmmttttttttnnnnnnnnnnnnnnnnttttttttmmmmmmmmRRRRRRRRssssssssmmmmmmmmssssssssssssssssssssssssssssssssmmmmmmmmRRRRRRRRssssssssmmmmmmmmttttttttnnnnnnnnnnnnnnnnttttttttmmmmmmmmRRRRRRRRssssssssmmmmmmmmssssssssssssssssssssssssssssssssmmmmmmmmRRRRRRRRssssssssmmmmmmmmttttttttnnnnnnnnnnnnnnnnttttttttmmmmmmmmRRRRRRRRssssssssmmmmmmmmssssssssssssssssssssssssssssssssmmmmmmmmRRRRRRRRssssssssmmmmmmmmttttttttnnnnnnnnnnnnnnnnttttttttmmmmmmmmRRRRRRRRssssssssmmmmmmmmssssssssssssssssssssssssssssssssmmmmmmmmRRRRRRRRssssssssmmmmmmmmttttttttnnnnnnnnnnnnnnnnttttttttmmmmmmmmSSSSSSSSttttttttmmmmmmmmttttttttttttttttttttttttttttttttmmmmmmmmSSSSSSSSttttttttmmmmmmmmttttttttnnnnnnnnnnnnnnnnllllllllttttttttmmmmmmmmllllllllllllllllllllllllllllllllttttttttmmmmmmmmllllllllnnnnnnnnnnnnnnnnllllllllnnnnnnnnssssssssmmmmmmmmnnnnnnnnllllllllllllllllllllllllllllllllnnnnnnnnssssssssmmmmmmmmnnnnnnnnllllllllnnnnnnnnnnnnnnnnllllllllnnnnnnnnssssssssmmmmmmmmnnnnnnnnllllllllllllllllllllllllllllllllnnnnnnnnssssssssmmmmmmmmnnnnnnnnllllllllnnnnnnnnnnnnnnnnllllllllnnnnnnnnssssssssmmmmmmmmnnnnnnnnllllllllllllllllllllllllllllllllnnnnnnnnssssssssmmmmmmmmnnnnnnnnllllllllnnnnnnnnnnnnnnnnkkkkkkkknnnnnnnnVVVVVVVVllllllllnnnnnnnnkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkknnnnnnnnVVVVVVVVllllllllnnnnnnnnkkkkkkkknnnnnnnnnnnnnnnnmmmmmmmmnnnnnnnnnnnnnnnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnmmmmmmmmnnnnnnnnnnnnnnnnmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmmmmmnnnnnnnnnnnnnnnnmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmmmmmnnnnnnnnnnnnnnnnmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmmmmmnnnnnnnnnnnnnnnnllllllllnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnllllllllllllllllllllllllllllllllnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnllllllllnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn